package com.lywz.biz.service.food;

import java.util.List;

import com.lywz.biz.common.entity.goodfood.Food;
import com.lywz.core.exception.SSException;

/**
 * 特色食品service
 * 
 * @author qianqi yangbolin
 * @date 2010-4-28
 */
public interface FoodService {

    public Food getOneFood(Integer foodId) throws SSException; //获得一个食品实体对象

    /**
     * 返回某一类美食的分类列表 
     * @param foodType 美食的种类
     * @param currentPage 请求的当前页码
     * @param pageSize 每页的美食个数（size）
     * @return 
     * @throws SSException
     */
    public List<Food> getDetailFoodListByFoodType(Integer foodType, int currentPage, int pageSize) throws SSException; //返回一个类型的食品列表
    
    public boolean insertNewFood(Food food);
    
    public List<Food> getTypedFoodTypeList(Integer foodType ,int limit);
    
    public List<Food> getOtherFoodTypeList(Integer foodType, int limit);
    
    public List<Food> getTopSpecialFoodList(int limit);
    
    /**
     * 根据foodType得到该类型美食的全部列表(按添加时间排序)
     * @param foodType
     * @return
     */
    public List<Food> getAllTypedFoodListByAddTime(int foodType) throws SSException;
    
    /**
     * 根据foodId删除一个food实体
     * @param foodId
     * @return
     * @throws SSException
     */
    public boolean deleteOneFoodById(int foodId) throws SSException;
    
    /**
     * 根据foodId修改一个food实体
     * @param foodId
     * @return
     * @throws SSException
     */
    public boolean updateOneFood(Food food) throws SSException;
    
    /**
     * 根据flag标识返回特色美食或者香茶美酒列表
     * @param flag (true代表特色美食， false代表香茶美酒)
     * @return
     * @throws SSException
     */
    public List<Food> getSpecialOrDrinkTeaListOrderByTime(boolean flag) throws SSException;
}
